import json
import os


def get_test_data(file_name):
    """
    读取测试数据文件
    :param file_name: 文件名
    :return: 测试数据列表
    """
    # 获取当前文件所在目录的绝对路径
    current_dir = os.path.dirname(os.path.abspath(__file__))
    # 构建测试数据文件的完整路径
    file_path = os.path.join(current_dir, file_name)
    
    # 读取JSON文件
    with open(file_path, 'r', encoding='utf-8') as f:
        test_data = json.load(f)
    
    # 返回测试数据列表
    return test_data


def get_test_data_params(file_name):
    """
    读取测试数据文件并转换为参数化格式
    :param file_name: 文件名
    :return: 参数化格式的测试数据
    """
    # 获取测试数据列表
    cases = get_test_data(file_name)
    
    # 转换为参数化格式 [(case_name, username, password, verify_code, expected), ...]
    params = []
    for case in cases:
        params.append((case["case_name"], 
                      case["username"], 
                      case["password"], 
                      case["verify_code"], 
                      case["expected"]))
    
    return params